Security in a computer system is a concern. Unauthorized reading of code or data can occur in a computer system, or code or data can be inadvertently or maliciously changed within the computer system.
A conventional solution to security on boot code procedures is the employment of a software cryptographic lock, also known as a software cryptographic signature. Generally, the software cryptographic lock or cryptographic signature analyzes a piece of boot code by performing a function, such as a hash function, upon the suspect boot code. If the value calculated by the hash function is correct (that is, the software “signature” is correct), the suspect code is deemed to be secure and is allowed access to the system.
However, there are a variety of disadvantages associated with software hash systems. For instance, the computational complexity for hashing a block of 512 bits can be significant. Using a 32-bit RISC computer, for example, several thousand instructions can typically be used to process a 512 bit block of input data. Consequently, hash systems also generally provide slower validation processes. Therefore, a need exists for a hashing process that overcomes at least some of the deficiencies of conventional systems.